﻿2026-08-01T18:03:30.8185429Z ##[group]Run python -m ruff check \
2026-08-01T18:03:30.8185895Z [36;1mpython -m ruff check \[0m
2026-08-01T18:03:30.8186196Z [36;1m  scripts/ci_portfolio_phase3_gate.py \[0m
2026-08-01T18:03:30.8186525Z [36;1m  src/jarvis_finance/api/main.py \[0m
2026-08-01T18:03:30.8186863Z [36;1m  src/jarvis_finance/api/routers/overview.py \[0m
2026-08-01T18:03:30.8187243Z [36;1m  src/jarvis_finance/api/schemas/portfolio_data.py \[0m
2026-08-01T18:03:30.8187669Z [36;1m  src/jarvis_finance/api/schemas/portfolio_performance.py \[0m
2026-08-01T18:03:30.8188098Z [36;1m  src/jarvis_finance/api/schemas/portfolio_policy.py \[0m
2026-08-01T18:03:30.8188543Z [36;1m  src/jarvis_finance/api/schemas/reconciliation.py \[0m
2026-08-01T18:03:30.8188910Z [36;1m  src/jarvis_finance/api/security.py \[0m
2026-08-01T18:03:30.8189239Z [36;1m  src/jarvis_finance/config/settings.py \[0m
2026-08-01T18:03:30.8189598Z [36;1m  src/jarvis_finance/ledger/cost_basis.py \[0m
2026-08-01T18:03:30.8189945Z [36;1m  src/jarvis_finance/ledger/performance.py \[0m
2026-08-01T18:03:30.8190314Z [36;1m  src/jarvis_finance/quality/freshness.py \[0m
2026-08-01T18:03:30.8190650Z [36;1m  src/jarvis_finance/quality/git_safety.py \[0m
2026-08-01T18:03:30.8191007Z [36;1m  src/jarvis_finance/services/portfolio_data.py \[0m
2026-08-01T18:03:30.8191413Z [36;1m  src/jarvis_finance/services/portfolio_performance.py \[0m
2026-08-01T18:03:30.8191830Z [36;1m  src/jarvis_finance/services/portfolio_policy.py \[0m
2026-08-01T18:03:30.8192240Z [36;1m  src/jarvis_finance/services/reconciliation_snapshot.py \[0m
2026-08-01T18:03:30.8192667Z [36;1m  src/jarvis_finance/services/transfer_pairing.py \[0m
2026-08-01T18:03:30.8193025Z [36;1m  src/jarvis_finance/storage/migrations.py \[0m
2026-08-01T18:03:30.8193333Z [36;1m  tests/conftest.py \[0m
2026-08-01T18:03:30.8194080Z [36;1m  tests/unit/test_api_write_security.py \[0m
2026-08-01T18:03:30.8194431Z [36;1m  tests/unit/test_git_safety.py \[0m
2026-08-01T18:03:30.8194825Z [36;1m  tests/unit/test_portfolio_data_ingestion_reconciliation.py \[0m
2026-08-01T18:03:30.8195284Z [36;1m  tests/unit/test_portfolio_performance_foundation.py \[0m
2026-08-01T18:03:30.8195683Z [36;1m  tests/unit/test_portfolio_policy_foundation.py \[0m
2026-08-01T18:03:30.8196083Z [36;1m  tests/unit/test_reconciliation_snapshot_foundation.py \[0m
2026-08-01T18:03:30.8196449Z [36;1m  tests/unit/test_settings.py \[0m
2026-08-01T18:03:30.8196770Z [36;1m  tests/unit/test_transfer_pairing_v2.py[0m
2026-08-01T18:03:30.8241175Z shell: /usr/bin/bash -e {0}
2026-08-01T18:03:30.8241435Z env:
2026-08-01T18:03:30.8241796Z   PYTHONPATH: src
2026-08-01T18:03:30.8242025Z   JARVIS_FINANCE_ENV: test
2026-08-01T18:03:30.8242412Z   JARVIS_FINANCE_DB_PATH: /tmp/financemanager-phase3-controls/finance.sqlite3
2026-08-01T18:03:30.8242952Z   JARVIS_FINANCE_RUNTIME_DIR: /tmp/financemanager-phase3-controls/runtime
2026-08-01T18:03:30.8243584Z   JARVIS_FINANCE_CI_ROOT: /tmp/financemanager-phase3-migration
2026-08-01T18:03:30.8243961Z   JARVIS_FINANCE_WRITE_MODE: disabled
2026-08-01T18:03:30.8244301Z   pythonLocation: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T18:03:30.8244736Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.15/x64/lib/pkgconfig
2026-08-01T18:03:30.8245169Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T18:03:30.8245558Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T18:03:30.8245943Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T18:03:30.8246355Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.15/x64/lib
2026-08-01T18:03:30.8246696Z ##[endgroup]
2026-08-01T18:03:30.8715681Z All checks passed!
